先稍微簡單介紹一下,什麼是node.js。
作者
node.js是Ryan Dahl於2009年jsconf上發表的伺服器端Javascript環境,他為了解決伺服器效能的問題,在嘗試過幾種方案後,開始利用Google剛發布不久的V8 Javascript引擎與Evented I/O機制,創造了一個高速的伺服器端Javascript環境。目前,node.js已經成為瀏覽器之外最重要的Javascript使用環境。
什麼是node.js
V8的速度很快,這就不用做太多介紹了。至於Evented I/O,可能需要簡單說明一下。CPU運作的速度,與I/O運作的速度差距很大,這是程式效能上需要優先考量的問題。在撰寫伺服器時,過去常會使用輪詢的方式來監聽資源,但是這個方式效率很差。比較好的方式是在監聽的資源有異動時,由作業系統直接通知,才進行處理。現代的作業系統其實都具備這樣的功能,例如Linux的epoll、BSD的kqueue以及Windows的IOCP等。node.js就是把執行速度很快的V8與Evented I/O做了很好的結合,並且設計了相當容易使用的API,所以使用者越來越多。
node.js是一個完全獨立的程式環境,完全不依賴其他伺服器,這對於熟悉php、.net這些環境的開發者,可能會有點陌生。不過也因為這樣,開發者可以完全掌控整個伺服器的運作過程,也可以激發很多創意。
除了執行效率,node.js也實做了符合commonjs 1.0規格的模組機制。模組是在獨立的Context中執行,透過模組機制,除了可以讓程式架構更有彈性,程式管理與維護也更有容易。
目前node.js穩定版本在4.x版,開發版本在5.x版。5.x版有一個重要的目標,就是Widnows作業系統的支援。預計下一個穩定版本的node.js,會有完整的Windows支援。
資源
* node.js官網:http://nodejs.org/ (原始碼、執行檔下載,api文件)
* 原始碼:http://github.net/joyent/nodejs (版本管理)
* NPM:http://npmjs.org (npm是node.js環境中最歡迎的套件管理工具,上面也可以利用關鍵字搜尋套件)
* 繁體中文資源:http://nodejs.tw (一些熱血人士架設的平台,目前是用facebook粉絲團發布最新消息,利用google site建立中文wiki)
* 簡體中文資源:http://cnnodejs.com (對岸的...東西比較多)
挑戰目標
接下來的29天,除了花幾天簡單介紹node.js的使用方式、API、必備知識等,其他幾天就慢慢透過node.js逐步開發一個網頁伺服器。
啊
大家包袱可以收一收回家了
因為
fillano大大已經出手了
海綿大大高手別醉了,還有貳獎,三獎等著您呢。
就算都沒有,我還有露營燈,已知足。
kradark提到:
就算都沒有,我還有露營燈,已知足。
有露營燈可以拿? 不是每個人發20個練成獎牌嗎?